package com.yanqu.road.dataHelper.action;

import com.yanqu.road.dataHelper.action.excel.RechargeAc;
import com.yanqu.road.dataHelper.gameServer.GameServer;
import com.yanqu.road.dataHelper.manager.DataMgr;
import com.yanqu.road.dataHelper.manager.ServerMgr;
import com.yanqu.road.entity.servercenter.ServerInfo;
import com.yanqu.road.utils.string.StringUtils;

import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;

//活动期间每日充值
public class RechargeAcExcel extends actionBase{
    public void go(List<Long> serverList){
        ExecutorService executorService = Executors.newFixedThreadPool(1);
        List<Future> futureList = new ArrayList<>();
        String activityIdStr = "9012166,9006228,9006188,9006197,9006198,9006199,9006200,9006224,9006225,9006227,9006226,9006230,9006229,9006334,9006487,9006518,9006618,9006718";
//        activityIdStr = "9882647";
        List<Integer> activityIdList = StringUtils.stringToIntegerList(activityIdStr,",");
        for(int activityId : activityIdList){
            futureList = new ArrayList<>();
            for(Long serverId : serverList){
                if(ServerMgr.getServerInfoList().containsKey(serverId)){
                    ServerInfo serverInfo = ServerMgr.getServerInfoList().get(serverId);
                    Future future = executorService.submit(new Callable<Boolean>() {
                        @Override
                        public Boolean call() throws Exception {
                            GameServer testGameServer = new GameServer(serverInfo);
                            RechargeAc rechargeAc = new RechargeAc(testGameServer);
                            rechargeAc.goAllActivity(activityId);
                            return true;
                        }
                    });
                    futureList.add(future);
                }
            }
            isResult(futureList);
            DataMgr.makeExcelData2Txt("");
            DataMgr.outText("-"+activityId);
            System.err.println("``````============================================"+activityId+"完成");
        }
    }
}
